package com.gxuwz.lhleavesys.db;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.sql.*;

@Component
public class DbUtil {

    //声明数据库连接管理的基本参数{driver、url、user、password}所对应的成员变量
    @Value("${jdbc_driver}")
    private String jdbc_driver;
    @Value("${jdbc_url}")
    private String jdbc_url;
    @Value("${jdbc_user}")
    private String jdbc_user;
    @Value("${jdbc_pwd}")
    private String jdbc_password;

    public DbUtil() {
    }

    public DbUtil(String jdbc_driver, String jdbc_url, String jdbc_user, String jdbc_password) {
        this.jdbc_driver = jdbc_driver;
        this.jdbc_url = jdbc_url;
        this.jdbc_user = jdbc_user;
        this.jdbc_password = jdbc_password;
    }

    public String getJdbc_driver() {
        return jdbc_driver;
    }

    public void setJdbc_driver(String jdbc_driver) {
        this.jdbc_driver = jdbc_driver;
    }

    public String getJdbc_url() {
        return jdbc_url;
    }

    public void setJdbc_url(String jdbc_url) {
        this.jdbc_url = jdbc_url;
    }

    public String getJdbc_user() {
        return jdbc_user;
    }

    public void setJdbc_user(String jdbc_user) {
        this.jdbc_user = jdbc_user;
    }

    public String getJdbc_password() {
        return jdbc_password;
    }

    public void setJdbc_password(String jdbc_password) {
        this.jdbc_password = jdbc_password;
    }

    public Connection getConn()throws Exception{
        Connection conn =null;
        try{
            Class.forName(jdbc_driver);
            conn = DriverManager.getConnection(jdbc_url,jdbc_user,jdbc_password);
            return conn;
        }catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }
    /**
     * 关闭连接资源
     *
     * @param rs
     * @param stmt
     * @param conn
     * @throws SQLException
     */
    public void close(ResultSet rs, Statement stmt, Connection conn) throws SQLException {
        if (rs != null) {
            rs.close();
        }
        if (stmt != null) {
            stmt.close();
        }
        if (conn != null) {
            conn.close();
        }
    }

    public void close(Statement stmt, Connection conn) throws SQLException {
        close(null, stmt, conn);
    }

    public String toString() {
        return "DbUtil{jdbc_driver = " + jdbc_driver + ", jdbc_url = " + jdbc_url + ", jdbc_user = " + jdbc_user + ", jdbc_password = " + jdbc_password + "}";
    }
}
